package com.csz.actions;

import com.csz.dao.Persistencia;
import com.csz.model.Caracteristica;
import com.csz.model.Categoria;

import com.csz.utils.Toolkit;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;

/**
 *
 * @author Leonardo
 */
public class ActionCategoria extends Action {

    @Override
    public void execute() {
        try {
            //Trazendo a lista de categoria da pagina
            List<Persistencia> listaCategoria = (List<Persistencia>) request.getSession().getAttribute("listaCategoria");

            //Trazendo o que foi selecionado no list da categoria
            Integer idCategoria = Integer.parseInt(request.getParameter("lstCategoria"));            
            Integer idBiotipo = (Integer) request.getSession().getAttribute("idBiotipo") ;
            Toolkit.ordenar(listaCategoria, idCategoria);

            //Consultando as subcategorias com o id selecionado
            List<Object> listaSubCategoria = Categoria.consultarNamedQuery(Categoria.ConsultarPorPai, Arrays.asList(new Object[]{idCategoria}));

            //Enviando a lista para preencher o list da sub-categorias
            request.getSession().setAttribute("listaSubCategoria", listaSubCategoria);

            //Consultando as caracteristicas
            List<Object> params = Arrays.asList(new Object[]{idCategoria , idBiotipo});
            List<Object> listaCaracteristica = Caracteristica.consultarNamedQuery(Caracteristica.ConsultarPorCategoriaBiotipo, params);

            //guardando o id da categoria selecionado na sessao
            request.getSession().setAttribute("idCategoria", idCategoria);

            //Enviando a lista para preencher o combo html
            request.getSession().setAttribute("setaSelecioneCategoria", false);
            request.getSession().setAttribute("listaCaracteristica", listaCaracteristica);

            // Vai tartaruguinha
            RequestDispatcher rd = request.getRequestDispatcher("categorias.jsp");
            rd.forward(request, response);

        } catch (ServletException ex) {
        } catch (IOException ex) {
        }
    }
}
